▍ ۱. GUI چیست و چگونه نصب میشود؟
🔑 تعریف GUI:
GUI (Graphical User Interface) = رابط کاربری گرافیکی. شامل سه لایه است:
- Desktop Environment (DE): محیط دسکتاپ (GNOME، KDE، Cinnamon، ...)
- Window Manager (WM): مدیریت پنجرهها (Mutter، Kwin، Muffin، ...)
- Display Server: ارتباط با سختافزار گرافیکی (Xorg، Wayland)
ترتیب تاریخی Display Serverها: XFree86 (۱۹۸۰) → Xorg / X11 (۲۰۰۴) → Wayland (جدید)
نکته: Xorg = X11 (هر دو یک چیز هستند). Wayland جایگزین مدرنتر است.
🔸 نصب GUI در دبیان / کالی
└─$ sudo apt update
└─$ sudo apt install gnome gnome-extra
└─$ sudo apt install gdm3
└─$ sudo systemctl set-default graphical.target
└─$ sudo reboot
توضیح: gnome محیط دسکتاپ، gdm3 صفحه ورود را مدیریت میکند.
🔸 نصب GUI در رد هت (AlmaLinux / CentOS / RHEL)
└─$ sudo dnf update
└─$ sudo dnf groupinstall "Server with GUI"
└─$ sudo systemctl set-default graphical.target
└─$ sudo reboot
نکته: "Server with GUI" شامل ابزارهای مدیریت سرور است. "Workstation" برنامههای کاربردی بیشتری دارد.
▍ ۲. قابلیتهای استاندارد GUI
هر محیط دسکتاپ شامل ۱۰ قابلیت استاندارد است:
- Favorites Bar – نوار علاقهمندیها
- Desktop Settings – تنظیمات دسکتاپ
- Launch – اجرای برنامهها
- Display Manager (XDM) – صفحه ورود
- Menus – منوها
- Panels – نوارهای ابزار
- Windows Manager – مدیریت پنجرهها
- File Manager – مدیریت فایلها
- Icons – آیکونها
- Widgets – ابزارکها
🔸 Display Manager (XDM) در محیطهای مختلف
| محیط دسکتاپ | Display Manager |
| GNOME | GDM |
| KDE | SDDM (قبلاً KDM) |
| XFCE / Cinnamon / MATE | LightDM |
نکته: KDE از SDDM استفاده میکند (نه KDM). LightDM بیشترین کاربرد را دارد.
🔸 اجزای محیطهای دسکتاپ محبوب
🟣 GNOME
- Display Manager: GDM
- File Manager: Nautilus
- Window Manager: Mutter
🟦 KDE
- Display Manager: SDDM
- File Manager: Dolphin
- Window Manager: Kwin
- Widgets: Plasmoids
🟢 Cinnamon
- Display Manager: LightDM
- File Manager: Nemo
- Window Manager: Muffin
- Widgets: Spices
🟡 MATE
- Display Manager: LightDM
- File Manager: Caja
- Window Manager: Marco
🟠 XFCE
- Display Manager: LightDM
- File Manager: Thunar
- Window Manager: Xfwm
نکات کلیدی: GNOME → Nautilus, GDM, Mutter | KDE → Dolphin, SDDM, Kwin | LightDM در XFCE/Cinnamon/MATE استفاده میشود.
▍ ۳. Accessibility (دسترسپذیری)
♿ تعریف: مجموعه ابزارهایی که به کاربران با نیازهای خاص کمک میکند از سیستم استفاده کنند.
- صفحهخوان (Screen Reader): Orca در GNOME
- بزرگنمایی (Magnifier): Zoom در GNOME، kmag در KDE
- صفحه کلید مجازی: Onboard در GNOME، kvkbd در KDE
- کنتراست بالا: تم HighContrast در GNOME
🔸 دستورات خط فرمان Accessibility
| دستور | کاربرد |
orca | اجرای صفحهخوان |
orca --setup | تنظیمات Orca |
onboard | صفحه کلید مجازی |
gsettings set org.gnome.desktop.interface gtk-theme 'HighContrast' | فعالسازی کنتراست بالا در GNOME |
gnome-control-center accessibility | تنظیمات Accessibility در GNOME |
سوال احتمالی: «برای فعالسازی صفحهخوان در GNOME از کدام دستور استفاده میشود؟» پاسخ: orca
▍ ۴. Remote Desktop (دسکتاپ از راه دور)
🔵 VNC
- تصویر را به صورت پیکسلی ارسال میکند.
- پورت پیشفرض: 5900
- مستقل از سیستمعامل
- مصرف پهنای باند بالا
- سرور:
tightvncserver, tigervncserver
🟢 Xrdp (RDP)
- از پروتکل RDP استفاده میکند (مشابه ویندوز).
- پورت پیشفرض: 3389
- سازگار با Remote Desktop Connection ویندوز
- پهنای باند کمتر، سرعت بیشتر
- سرور:
xrdp
🔸 نصب و راهاندازی Xrdp (سرور)
└─$ sudo apt install xrdp
└─$ sudo systemctl enable --now xrdp
پورت پیشفرض Xrdp: 3389
🔸 کلاینت Remmina (چندپروتکلی)
└─$ sudo apt install remmina remmina-plugin-*
Remmina از پروتکلهای RDP, VNC, SSH, XDMCP پشتیبانی میکند.
پورتهای پیشفرض: VNC = 5900 | RDP (Xrdp) = 3389
▍ ۵. Localization و Character Sets
🌍 Localization = بومیسازی: سازگار کردن سیستم با زبان، فرهنگ و قوانین یک منطقه خاص (زبان، ساختار عددی، واحد پولی، قالب تاریخ، جهت نوشتار).
🔸 تاریخچه Character Sets
| Character Set | اندازه | تعداد کاراکتر | پوشش |
| ASCII | ۷ بیت | ۱۲۸ | فقط انگلیسی |
| ISO-8859 | ۸ بیت | ۲۵۶ | زبانهای اروپایی (نسخههای مختلف) |
| Unicode | استاندارد | ۱۴۹,۰۰۰+ | همه زبانها |
| UTF-8 | ۱-۴ بایت | همه Unicode | همه زبانها (پیشفرض لینوکس و وب) |
نکته: Unicode یک استاندارد است، UTF روش پیادهسازی آن. UTF-8 در لینوکس و وب پیشفرض است.
🔸 دستورات مدیریت Localization
locale – نمایش تنظیمات فعلی
locale -a – نمایش همه زبانهای پشتیبانیشده
locale -ck LC_TIME – نمایش تنظیمات تاریخ و زمان
export LANG=fa_IR.UTF-8 – تغییر موقتی زبان
localectl set-locale LANG=fa_IR.UTF-8 – تغییر دائمی زبان
تفاوت: export موقتی است، localectl دائمی.
▍ ۶. تنظیم زمان و مدیریت چاپگر
🕐 مبداء زمان در لینوکس: ۱۹۷۰/۰۱/۰۱ (Epoch)
🔸 دستورات زمان
| دستور | کاربرد |
date | نمایش زمان سیستمی |
date "+%Y-%m-%d %H:%M:%S" | زمان با فرمت سفارشی |
hwclock | زمان سختافاری (RTC) |
timedatectl | مدیریت جامع زمان و منطقه زمانی |
timedatectl set-timezone Asia/Tehran | تغییر منطقه زمانی |
timedatectl set-ntp true | فعالسازی NTP |
نکته: date زمان سیستمی، hwclock زمان سختافاری را نشان میدهد.
🔸 مدیریت چاپگر با CUPS
- CUPS = Common UNIX Printing System
- پورت پیشفرض: 631
- رابط وب:
http://127.0.0.1:631/
└─$ sudo apt install cups # دبیان
└─$ sudo dnf install cups # رد هت
└─$ sudo systemctl enable --now cups
🔸 دستورات مدیریت چاپ
| دستور | کاربرد |
lpstat -p | وضعیت چاپگرها |
lpstat -a | همه چاپگرهای موجود |
lp -d printer_name file.txt | چاپ فایل |
cancel job_id | لغو کار چاپ |
دستورات کلیدی CUPS: lpstat (مشاهده)، lp (چاپ)، cancel (لغو)
▍ جمعبندی نهایی برای امتحان
📌 نکات طلایی:
- GUI = DE + WM + Display Server
- Xorg = X11 (قدیمیتر) ، Wayland (جدیدتر)
- GNOME: GDM, Nautilus, Mutter
- KDE: SDDM, Dolphin, Kwin
- LightDM: در XFCE, Cinnamon, MATE
- Orca: صفحهخوان در GNOME
- VNC: پورت 5900 ، Xrdp (RDP): پورت 3389
- UTF-8: پیشفرض لینوکس و وب
- مبداء زمان: ۱۹۷۰/۰۱/۰۱
- CUPS: پورت 631 ، دستورات:
lpstat, lp, cancel